Statically Resolvable Ambiguity
نویسندگان
چکیده
Traditionally, a grammar defining the syntax of programming language is typically both context free and unambiguous. However, recent work suggests that an attractive alternative to use ambiguous grammars,thus postponing task resolving ambiguity end user. If all programs accepted by can be rewritten unambiguously, then parser for said resolvably ambiguous. Guaranteeing resolvable statically---for programs---is hard, where previous only solves it partially using techniques based on property-based testing. In this paper, we present first efficient, practical, proven correct solution statically problem. Our approach introduces several key ideas, including splittable productions, operator sequences, concept grouper works in tandem with standard parser. We prove static resolvability Coq mechanization demonstrate its efficiency practical applicability implementing integrating into essential part OCaml
منابع مشابه
Statically Determining Memory Consumption
In real-time and embedded systems, it is often necessary to place conservative upper bounds on the memory required by a program or subprogram. This can be difficult and error-prone process. In this thesis, I have designed and implemented two (related) compile-time analyses to addresses this problem. The first analysis computes a symbolic upper bound on the maximum number of allocations of each ...
متن کاملThickly-resolvable block designs
We show that the necessary divisibility conditions for the existence of a σ-resolvable BIBD(v, k, λ) are sufficient for large v. The key idea is to form an auxiliary graph based on an [r, k]-configuration with r = σ, and then edge-decompose the complete λ-fold graph K (λ) v into this graph. As a consequence, we initiate a similar existence theory for incomplete designs with index λ. ∗ Supported...
متن کاملLocally Resolvable B-reps
A typical B-rep describes a solid in its full detail. Operations that locally analyze the B-rep usually process the entire B-rep due to the lack of spatial ordering of its topological entities. For very complex objects, this global processing is time consuming and yet unnecessary. One approach in avoiding the global processing is to use several B-reps of different levels of detail. However, thi...
متن کاملStatically scheduled Process Networks
Event/Marked Graphs (EG) form a strict subset of Petri Nets. They are fundamental models in Scheduling Theory, mostly because of their absence of alternative behaviors (or conflict-freeness). It was established in the past that, under broad structural conditions, behavior of Timed Event Graphs (TEG) becomes utterly regular (technically speaking: “ultimately k-periodic”). More recently it has be...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Proceedings of the ACM on programming languages
سال: 2023
ISSN: ['2475-1421']
DOI: https://doi.org/10.1145/3571251